<?php
/**
 * Distributed under the terms of the Eclipse Public License - v 1.0 (see epl-v10.html)
 *
 * If you use this software please consider contributing your revisions or extensions back
 * to the google code project at: 
 *            http://code.google.com/p/data-lotro-com-php-helper-class/
 *
 * Also consider adding an acknowledgement to your website:
 *  "This site uses the data.lotro.com PHP helper class provided by Chris Thomson and Renkosi.com"
 *
 * This file contains functions to help sort out HTML entities.
 *
 * Change Log:

 * v0.2 - First version. (CTHOMSON - 16/5/2009)
 *
 *
 * @author Chris Thomson <renkosi@smog-it.co.uk>
 * @copyright Copyright (c) 2009, Chris Thomson
 * @see lotroapi.config.php
 * @since 0.2
 * @version 0.2
 */


/**
 * Takes a string containing HTML entities and converts them to XML entities for the
 * XML parser.
 *
 * @author Chris Thomson
 * @since 0.2
 * @param string $val the string containing HTML entities.
 * @return string
 */
function replaceHtmlEntities($val)
{
	$html = array(
		'&quot;',
		'&amp;',
		'&lt;',
		'&gt;',
		'&nbsp;',
		'&iexcl;',
		'&cent;',
		'&pound;',
		'&curren;',
		'&yen;',
		'&brvbar;',
		'&sect;',
		'&uml;',
		'&copy;',
		'&ordf;',
		'&laquo;',
		'&not;',
		'&shy;',
		'&reg;',
		'&macr;',
		'&deg;',
		'&plusmn;',
		'&sup2;',
		'&sup3;',
		'&acute;',
		'&micro;',
		'&para;',
		'&middot;',
		'&cedil;',
		'&sup1;',
		'&ordm;',
		'&raquo;',
		'&frac14;',
		'&frac12;',
		'&frac34;',
		'&iquest;',
		'&Agrave;',
		'&Aacute;',
		'&Acirc;',
		'&Atilde;',
		'&Auml;',
		'&Aring;',
		'&AElig;',
		'&Ccedil;',
		'&Egrave;',
		'&Eacute;',
		'&Ecirc;',
		'&Euml;',
		'&Igrave;',
		'&Iacute;',
		'&Icirc;',
		'&Iuml;',
		'&ETH;',
		'&Ntilde;',
		'&Ograve;',
		'&Oacute;',
		'&Ocirc;',
		'&Otilde;',
		'&Ouml;',
		'&times;',
		'&Oslash;',
		'&Ugrave;',
		'&Uacute;',
		'&Ucirc;',
		'&Uuml;',
		'&Yacute;',
		'&THORN;',
		'&szlig;',
		'&agrave;',
		'&aacute;',
		'&acirc;',
		'&atilde;',
		'&auml;',
		'&aring;',
		'&aelig;',
		'&ccedil;',
		'&egrave;',
		'&eacute;',
		'&ecirc;',
		'&euml;',
		'&igrave;',
		'&iacute;',
		'&icirc;',
		'&iuml;',
		'&eth;',
		'&ntilde;',
		'&ograve;',
		'&oacute;',
		'&ocirc;',
		'&otilde;',
		'&ouml;',
		'&divide;',
		'&oslash;',
		'&ugrave;',
		'&uacute;',
		'&ucirc;',
		'&uuml;',
		'&yacute;',
		'&thorn;',
		'&yuml;',
		'&euro;'
	);
	$xml = array(
		'&#34;',
		'&#38;',
		'&#60;',
		'&#62;',
		' ',
		'&#161;',
		'&#162;',
		'&#163;',
		'&#164;',
		'&#165;',
		'&#166;',
		'&#167;',
		'&#168;',
		'&#169;',
		'&#170;',
		'&#171;',
		'&#172;',
		'&#173;',
		'&#174;',
		'&#175;',
		'&#176;',
		'&#177;',
		'&#178;',
		'&#179;',
		'&#180;',
		'&#181;',
		'&#182;',
		'&#183;',
		'&#184;',
		'&#185;',
		'&#186;',
		'&#187;',
		'&#188;',
		'&#189;',
		'&#190;',
		'&#191;',
		'&#192;',
		'&#193;',
		'&#194;',
		'&#195;',
		'&#196;',
		'&#197;',
		'&#198;',
		'&#199;',
		'&#200;',
		'&#201;',
		'&#202;',
		'&#203;',
		'&#204;',
		'&#205;',
		'&#206;',
		'&#207;',
		'&#208;',
		'&#209;',
		'&#210;',
		'&#211;',
		'&#212;',
		'&#213;',
		'&#214;',
		'&#215;',
		'&#216;',
		'&#217;',
		'&#218;',
		'&#219;',
		'&#220;',
		'&#221;',
		'&#222;',
		'&#223;',
		'&#224;',
		'&#225;',
		'&#226;',
		'&#227;',
		'&#228;',
		'&#229;',
		'&#230;',
		'&#231;',
		'&#232;',
		'&#233;',
		'&#234;',
		'&#235;',
		'&#236;',
		'&#237;',
		'&#238;',
		'&#239;',
		'&#240;',
		'&#241;',
		'&#242;',
		'&#243;',
		'&#244;',
		'&#245;',
		'&#246;',
		'&#247;',
		'&#248;',
		'&#249;',
		'&#250;',
		'&#251;',
		'&#252;',
		'&#253;',
		'&#254;',
		'&#255;',
		'&#8364;'
	);

	return str_ireplace($html, $xml, $val);
}
?>
